Thoth (operating System)
   HOME

TheInfoList



OR:

Thoth is a
real-time Real-time or real time describes various operations in computing or other processes that must guarantee response times within a specified time (deadline), usually a relatively short time. A real-time process is generally one that happens in defined ...
,
message passing In computer science, message passing is a technique for invoking behavior (i.e., running a program) on a computer. The invoking program sends a message to a process (which may be an actor or object) and relies on that process and its support ...
operating system An operating system (OS) is system software that manages computer hardware, software resources, and provides common services for computer programs. Time-sharing operating systems schedule tasks for efficient use of the system and may also i ...
(OS) developed at the
University of Waterloo The University of Waterloo (UWaterloo, UW, or Waterloo) is a public research university with a main campus in Waterloo, Ontario, Canada. The main campus is on of land adjacent to "Uptown" Waterloo and Waterloo Park. The university also operates ...
in
Waterloo, Ontario Waterloo is a city in the Canadian province of Ontario. It is one of three cities in the Regional Municipality of Waterloo (formerly Waterloo County). Waterloo is situated about west-southwest of Toronto. Due to the close proximity of the ci ...
Canada Canada is a country in North America. Its ten provinces and three territories extend from the Atlantic Ocean to the Pacific Ocean and northward into the Arctic Ocean, covering over , making it the world's second-largest country by tot ...
.


History

Thoth was developed at the
University of Waterloo The University of Waterloo (UWaterloo, UW, or Waterloo) is a public research university with a main campus in Waterloo, Ontario, Canada. The main campus is on of land adjacent to "Uptown" Waterloo and Waterloo Park. The university also operates ...
in
Waterloo, Ontario Waterloo is a city in the Canadian province of Ontario. It is one of three cities in the Regional Municipality of Waterloo (formerly Waterloo County). Waterloo is situated about west-southwest of Toronto. Due to the close proximity of the ci ...
,
Canada Canada is a country in North America. Its ten provinces and three territories extend from the Atlantic Ocean to the Pacific Ocean and northward into the Arctic Ocean, covering over , making it the world's second-largest country by tot ...
. The curriculum at Waterloo includes a ''Real Time Operating Systems'' course and an associated "Train lab", where students must develop a
real-time operating system A real-time operating system (RTOS) is an operating system (OS) for real-time applications that processes data and events that have critically defined time constraints. An RTOS is distinct from a time-sharing operating system, such as Unix, which m ...
(RTOS) to control a model track with multiple trains. In 1972, the B programming language, a derivative of BCPL, was brought to Waterloo by Stephen C. Johnson while on sabbatical from
Bell Labs Nokia Bell Labs, originally named Bell Telephone Laboratories (1925–1984), then AT&T Bell Laboratories (1984–1996) and Bell Labs Innovations (1996–2007), is an American industrial Research and development, research and scientific developm ...
. A new language derived from B, named ''Eh'', was developed at Waterloo. Thoth was written originally in Eh with some assembly language. Initial development of Thoth occurred on a Honeywell 6050 computer. It was first run on a Data General Nova 2 in May 1976, and was next
ported In software engineering, porting is the process of adapting software for the purpose of achieving some form of execution in a computing environment that is different from the one that a given program (meant for such execution) was originally desi ...
to a Texas Instruments TI990/10 in August 1976. In October 1976, the University of Waterloo published Laurence S. Melen's Master's Thesis, titled "A Portable Real-Time Executive, Thoth". Eh was later upgraded, in part with the addition of data types, and renamed ''Zed''. Thoth was then rewritten in Zed. One of the early principal developers of Thoth was
David Cheriton David Ross Cheriton (born March 29, 1951) is a Canadian computer scientist, mathematician, billionaire businessman, philanthropist, and venture capitalist. He is a computer science professor at Stanford University, where he founded and leads the ...
. Cheriton would go on to develop the Verex
kernel Kernel may refer to: Computing * Kernel (operating system), the central component of most operating systems * Kernel (image processing), a matrix used for image convolution * Compute kernel, in GPGPU programming * Kernel method, in machine learn ...
, and the V-System OS; both influenced by Thoth. Another early developer was Michael Malcolm, who would later found Waterloo Microsystems, Network Appliances, Inc.,
Blue Coat Systems __FORCETOC__ Blue Coat Systems, Inc., was a company that provided hardware, software, and services designed for cybersecurity and network management. In 2016, it was acquired by and folded into Symantec. In 2019 was, as part of Symantec Enterpris ...
, and Kaliedescape, several of whose operating systems are believed to have been derived from or influenced by Thoth. Certain papers describe DEMOS as the inspiration for Thoth. As prior art Cheriton cited
Per Brinch Hansen Per Brinch Hansen (13 November 1938 – 31 July 2007) was a Danish-American computer scientist known for his work in operating systems, concurrent programming and parallel and distributed computing. Biography Early life and education Per B ...
's RC 4000, then listed Thoth, DEMOS, and Accent together as later developments. Other influences on the development of Thoth included
Multics Multics ("Multiplexed Information and Computing Service") is an influential early time-sharing operating system based on the concept of a single-level memory.Dennis M. Ritchie, "The Evolution of the Unix Time-sharing System", Communications of ...
,
Data General Data General Corporation was one of the first minicomputer firms of the late 1960s. Three of the four founders were former employees of Digital Equipment Corporation (DEC). Their first product, 1969's Data General Nova, was a 16-bit minicompute ...
's RTOS,
Honeywell Honeywell International Inc. is an American publicly traded, multinational conglomerate corporation headquartered in Charlotte, North Carolina. It primarily operates in four areas of business: aerospace, building technologies, performance ma ...
GCLS, and
Unix Unix (; trademarked as UNIX) is a family of multitasking, multiuser computer operating systems that derive from the original AT&T Unix, whose development started in 1969 at the Bell Labs research center by Ken Thompson, Dennis Ritchie, an ...
. Later references cite Thoth as the original implementation of its particular use of synchronous message passing and multiprocess program structure, which were subsequently applied by other projects. Work on Thoth ended around 1982.


Features

Thoth was developed to meet four goals: # Easily portable to other hardware # Programs run as a set of inexpensive, cooperating
concurrent Concurrent means happening at the same time. Concurrency, concurrent, or concurrence may refer to: Law * Concurrence, in jurisprudence, the need to prove both ''actus reus'' and ''mens rea'' * Concurring opinion (also called a "concurrence"), a ...
processes with efficient inter-process communications (IPC) # Suitable for real-time uses as to system response to external events # Adaptable and scalable to a wide range of real-time uses Thoth exposes the same
abstract machine An abstract machine is a computer science theoretical model that allows for a detailed and precise analysis of how a computer system functions. It is analogous to a mathematical function in that it receives inputs and produces outputs based on pr ...
to
application software Application may refer to: Mathematics and computing * Application software, computer software designed to help the user to perform specific tasks ** Application layer, an abstraction layer that specifies protocols and interface methods used in a ...
, regardless of the underlying physical machine. This abstract machine was defined with certain minimal requirements, such that meeting these requirements allowed a given computer to be included in the ''Thoth Domain'' of potential Thoth port targets. Processes running under Thoth can be grouped into "Teams". All processes within a team share a common address space and can share data. This is similar to other systems' concepts of "lightweight processes" or threads. Processes not members of the same team communicate using Thoth's IPC. Inter Process Communication in Thoth is primarily accomplished by means of synchronous message passing. This approach greatly simplified message queueing. Although the term was not current when the original papers were written, Thoth has been called a
microkernel In computer science, a microkernel (often abbreviated as μ-kernel) is the near-minimum amount of software that can provide the mechanisms needed to implement an operating system (OS). These mechanisms include low-level address space management, ...
. Thoth's synchronous message passing IPC lent itself to the application of an anthropomorphic programming model, building on the work of
Carl Hewitt Carl Eddie Hewitt () is an American computer scientist who designed the Planner programming language for automated planningCarl Hewitt''PLANNER: A Language for Proving Theorems in Robots''IJCAI. 1969. and the actor model of concurrent computa ...
's actor model, and of Smalltalk.


Legacy

The Thoth operating system provided either the basis or the inspiration for several later projects, some of which are listed below.


Academic

* The microNet distributed file server system at the University of Waterloo ran on an operating system named WatSys that was similar to Thoth, and Port. WatSys debuted in 1981. * The
National Research Council of Canada The National Research Council Canada (NRC; french: Conseil national de recherches Canada) is the primary national agency of the Government of Canada dedicated to science and technology research & development. It is the largest federal research ...
was the development home of the Harmony operating system, a derivative of Thoth oriented towards real-time robot control. * Cheriton took a position at the
University of British Columbia The University of British Columbia (UBC) is a public research university with campuses near Vancouver and in Kelowna, British Columbia. Established in 1908, it is British Columbia's oldest university. The university ranks among the top thre ...
, where he was involved in developing Verex, and Distributed Verex, using many of the ideas he had earlier explored in Thoth. * Cheriton later moved to Stanford University in the US, where he developed the V-System, which continued to build on earlier work with Thoth. * The Sylvan Multiprocessing system's architecture included a coprocessor that implemented Thoth's synchronous message passing primitives (and Ada's extended rendezvous) in hardware. * Thoth and its message passing IPC were used to underpin a multi-process paint program that employed the anthropomorphic programming model. * Thoth's message passing semantics were part of an experimental parallel-processing version of the
computer algebra system A computer algebra system (CAS) or symbolic algebra system (SAS) is any mathematical software with the ability to manipulate mathematical expressions in a way similar to the traditional manual computations of mathematicians and scientists. The d ...
(CAS)
Maple ''Acer'' () is a genus of trees and shrubs commonly known as maples. The genus is placed in the family Sapindaceae.Stevens, P. F. (2001 onwards). Angiosperm Phylogeny Website. Version 9, June 2008 nd more or less continuously updated since http ...
. * The distributed Process Execution And Communication Environment (PEACE) was developed for high-performance applications. The paper cites Thoth as a "major foundation" for the project. * The Eindhoven Multi-Processor System (EMPS) executive put an emphasis on efficiency. Thoth provided the inspiration for the design of the EMPS kernel. * An experimental human-computer interface environment named the Room system was built on Waterloo Port, which was derived from Thoth and which used its IPC techniques. The Room paper references earlier Thoth papers. * The Flash web server, a research project with an emphasis on efficiency and portability, was said to resemble Thoth in its method of multi-process structuring and concept of process teams communicating via message passing.


Commercial

*
Gordon Bell Chester Gordon Bell (born August 19, 1934) is an American electrical engineer and manager. An early employee of Digital Equipment Corporation (DEC) 1960–1966, Bell designed several of their PDP machines and later became Vice President of Engi ...
and
Dan Dodge Dan Dodge is a cocreator of the QNX microkernel real-time operating system, with Gordon Bell. They began the project while students at the University of Waterloo in 1980. Dodge then moved to Kanata, Ontario, a high-tech area outside Ottawa, to star ...
, developers of the ''
QNX QNX ( or ) is a commercial Unix-like real-time operating system, aimed primarily at the embedded systems market. QNX was one of the first commercially successful microkernel operating systems. The product was originally developed in the early ...
'' message passing realtime operating system, both worked with Thoth while they were students at Waterloo. * AT&T's ''System 75'' Office Communication System was controlled by the ''Oryx'' kernel and the ''Pecos'' set of essential system processes, jointly referred to as ''Oryx/Pecos''. It used ideas from Thoth, DEMOS, and an internal AT&T project. * The commercial ''Waterloo Port'' network operating system was derived from Thoth. The associated Zed language was upgraded to become the PORT language for Waterloo Port. * Hayes Microcomputer Products acquired Waterloo Microsystems, and rebranded and upgraded the Waterloo Port product to create ''LANstep''. * The Auspex storage company produced the ''Functional Multiprocessing Kernel'' (FMK), which employed concepts identified as having been first developed in Thoth. Unlike the V-System and Waterloo Port, FMK had no memory management. * Early versions of Network Appliance, Inc.'s storage appliance operating system have been described as being very similar to Thoth. NetApp's OS was written by
David Hitz David Hitz is an American engineer. In 1992, he, James Lau, and Michael Malcolm founded NetApp, where he became an executive vice president. A graduate of Deep Springs College, Hitz earned a BSE from Princeton University and went on to work as ...
, who had previously been at Auspex. * In 1996 the CacheFlow web acceleration appliance company released their ''CacheOS'', which was based on Thoth. In 2001 CacheFlow was renamed
Blue Coat Systems __FORCETOC__ Blue Coat Systems, Inc., was a company that provided hardware, software, and services designed for cybersecurity and network management. In 2016, it was acquired by and folded into Symantec. In 2019 was, as part of Symantec Enterpris ...
and, with the addition of a policy engine, CacheOS became the ''Secure Gateway Operating System'' (SGOS).


References


Further reading

* * * * * * * * {{Operating systems Real-time operating systems Microkernel-based operating systems University of Waterloo Operating system families